Branch circuit determination with synchronous correlation

ABSTRACT

A method for relating a data processing system with a power branch circuit is provided in the illustrative embodiments. A second signal is combined with a power signal to form a combination signal, the power signal including a first power usage by the data processing system and a second power usage by a modulating signal. The second signal is synchronized with the modulating signal in the power signal. A determination is made whether an amplitude of a frequency of the second signal is increasing in the combined signal over a period. Responsive to the determining being affirmative, the data processing system is related with the power branch circuit.

The present application is a CONTINUATION of copending patent application Ser. No. 13/217,624.

BACKGROUND

1. Technical Field

The present invention relates generally to a method for managing electrical power in a data processing environment. More particularly, the present invention relates to a method for correlating systems with power branch circuits in the data processing environment using a synchronous correlation technique.

2. Description of the Related Art

Data processing environments often include multiple data processing systems. The data processing systems each have a need for electrical power for performing their respective functions.

An electrical power distribution system can supply power to several data processing systems. Particularly, an electrical power distribution system includes several power branch circuits, each power branch circuit supplying power to several systems and equipment in the data processing environment.

Knowing which system is supplied power from which power branch circuit is important. In a data processing environment, the number and location of the systems, equipment, and power branch circuits can result in a complex network of interconnected systems and power branch circuits. Consequently, learning the relationships between systems and corresponding power branch circuits is a non-trivial problem.

SUMMARY

The illustrative embodiments provide a method for branch circuit determination with synchronous correlation. An embodiment combines, to form a combination signal, a second signal with a power signal, the power signal including a first power usage by the data processing system and a second power usage by a modulating signal. The embodiment synchronizes the second signal with the modulating signal in the power signal. The embodiment determines whether an amplitude of a frequency of the second signal is increasing in the combined signal over a period. The embodiment relates, responsive to the determining being affirmative, the data processing system with the power branch circuit.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 depicts a pictorial representation of a network of data processing systems in which illustrative embodiments may be implemented;

FIG. 2 depicts a block diagram of a data processing system in which illustrative embodiments may be implemented;

FIG. 3 depicts a block diagram of correlating a system with a power branch circuit using a synchronous correlation technique in accordance with an illustrative embodiment;

FIG. 4 depicts a set of graphs showing power modulation for associating a system with a power branch circuit in accordance with an illustrative embodiment;

FIG. 5 depicts a set of graphs showing the process for detecting a modulating signal to relate a system with a corresponding power branch circuit in accordance with an illustrative embodiment; and

FIG. 6 depicts a flowchart of a process of branch circuit determination with synchronous correlation in accordance with an illustrative embodiment.

DETAILED DESCRIPTION

In certain data processing environment configurations, several data processing systems may be configured to receive power from a power branch circuit and several such power branch circuits may provide to several data processing systems. For example, in an example data processing environment, assume servers named server 1, server 2, . . . server 20, and power branch circuits named power branch circuit 1, power branch circuit 2, . . . power branch circuit 5, such that servers 1, 4, 5, 13, 14, and 19 may be supplied power from power branch circuit 1; servers 2, 6, 7, 15, 16, and 20 may be supplied power from power branch circuit 2; servers 3, 8, 9, and 10 may be supplied power from power branch circuit 3; servers 11, 12, and 14 may be supplied power from power branch circuit 4; and servers 17 and 18 may be supplied power from power branch circuit 5.

Furthermore, systems in a data processing environment may be switched from one power branch circuit to another for a variety of reasons. For example, equipment in power branch circuit 4 may have to be shut down for maintenance and the load redistributed to other power branch circuits according to available capacity on those power branch circuits at that time.

As can be seen, with just twenty example servers and five power branch circuits, managing the information about which system receives power from which power branch circuit at any given time is a problem that requires some solution. Manually keeping track of such relationships may work for relatively small data processing environments. However, the embodiments recognize that for large number of systems and power branch circuits typically present in a data processing environment, the problem requires a more sophisticated solution.

The embodiments further recognize that causing the system to identify itself, such as by executing a particular code with a specific load characteristic, or by transmitting a system identifier from the system, require access to the system. The embodiments recognize that service personnel, maintenance technicians, and other personnel in a data processing environment may not be able to log-on to a system or otherwise access the system for executing code thereon or transmitting identifiers there from.

The embodiments recognize that allowing access to a system in a data processing environment, such as for executing code is a security risk. The embodiments also recognize that physical access to the systems, without the ability to log-on to the systems is often available to data processing environment personnel. For example, a technician may be able to touch a system, move a system, or connect a device to a port on the system without having a login ID and password to the system.

The illustrative embodiments used to describe the invention generally address and solve the above-described system-to-power branch circuit matching problems. The illustrative embodiments provide a method for correlating systems with their corresponding power branch circuits using a synchronous correlation technique as described using the following embodiments.

The invention and various embodiments thereof are described herein primarily with respect to a simplified relationship between a limited number of systems and power branch circuits only for the clarity of the disclosure. The concepts, methods, products, systems, operations, actions, configurations, or manipulations described herein with respect to matching a system to a power branch circuit are similarly applicable to matching any number of systems to any number of power branch circuits without limitation.

Furthermore, several embodiments are described using a server data processing system only as an example for the clarity of the description. An embodiment may be practiced with respect to any type of data processing system allowing physical access to a direct current (DC) powered port thereon, or another system that allows access to a DC powered port of any configuration in a similar manner within the scope of the invention.

The illustrative embodiments are described using specific code, designs, architectures, layouts, schematics, and tools only as examples and are not limiting on the illustrative embodiments. The illustrative embodiments may be used in conjunction with other comparable or similarly purposed structures, systems, applications, or architectures. An illustrative embodiment may be implemented in hardware, software, or a combination thereof.

The examples in this disclosure are used only for the clarity of the description and are not limiting on the illustrative embodiments. Additional data, operations, actions, tasks, activities, and manipulations will be conceivable from this disclosure and the same are contemplated within the scope of the illustrative embodiments.

Any advantages listed herein are only examples and are not intended to be limiting on the illustrative embodiments. Additional or different advantages may be realized by specific illustrative embodiments. Furthermore, a particular illustrative embodiment may have some, all, or none of the advantages listed above.

With reference to the figures and in particular with reference to FIGS. 1 and 2, these figures are example diagrams of data processing environments in which illustrative embodiments may be implemented. FIGS. 1 and 2 are only examples and are not intended to assert or imply any limitation with regard to the environments in which different embodiments may be implemented. A particular implementation may make many modifications to the depicted environments based on the following description.

FIG. 1 depicts a pictorial representation of a network of data processing systems in which illustrative embodiments may be implemented. Data processing environment 100 is a network of computers in which the illustrative embodiments may be implemented. Data processing environment 100 includes network 102. Network 102 is the medium used to provide communications links between various devices and computers connected together within data processing environment 100. Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables. Server 104 and server 106 couple to network 102 along with storage unit 108. Software applications may execute on any computer in data processing environment 100.

In addition, clients 110, 112, and 114 couple to network 102. A data processing system, such as server 104 or 106, or client 110, 112, or 114 may contain data and may have software applications or software tools executing thereon.

Signal generator 105 may be any suitable hardware device capable of coupling with server 104. For example, signal generator 105 may couple with server 104 using a DC powered port, such as a universal serial bus (USB) port or a serial port, available on server 104. Data processing environment 100 may be supplied by a power distribution system (not shown) using a set of power branch circuits (not shown).

Servers 104 and 106, storage unit 108, and clients 110, 112, and 114 may couple to network 102 using wired connections, wireless communication protocols, or other suitable data connectivity. Clients 110, 112, and 114 may be, for example, personal computers or network computers.

In the depicted example, server 104 may provide data, such as boot files, operating system images, and applications to clients 110, 112, and 114. Clients 110, 112, and 114 may be clients to server 104 in this example. Clients 110, 112, 114, or some combination thereof, may include their own data, boot files, operating system images, and applications. Data processing environment 100 may include additional servers, clients, and other devices that are not shown.

In the depicted example, data processing environment 100 may be the Internet. Network 102 may represent a collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) and other protocols to communicate with one another. At the heart of the Internet is a backbone of data communication links between major nodes or host computers, including thousands of commercial, governmental, educational, and other computer systems that route data and messages. Of course, data processing environment 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the different illustrative embodiments.

Among other uses, data processing environment 100 may be used for implementing a client-server environment in which the illustrative embodiments may be implemented. A client-server environment enables software applications and data to be distributed across a network such that an application functions by using the interactivity between a client data processing system and a server data processing system. Data processing environment 100 may also employ a service oriented architecture where interoperable software components distributed across a network may be packaged together as coherent business applications.

With reference to FIG. 2, this figure depicts a block diagram of a data processing system in which illustrative embodiments may be implemented. Data processing system 200 is an example of a computer, such as server 104 or client 110 in FIG. 1, in which computer usable program code or instructions implementing the processes of the illustrative embodiments may be located for the illustrative embodiments.

In the depicted example, data processing system 200 employs a hub architecture including North Bridge and memory controller hub (NB/MCH) 202 and south bridge and input/output (I/O) controller hub (SB/ICH) 204. Processing unit 206, main memory 208, and graphics processor 210 are coupled to north bridge and memory controller hub (NB/MCH) 202. Processing unit 206 may contain one or more processors and may be implemented using one or more heterogeneous processor systems. Graphics processor 210 may be coupled to the NB/MCH through an accelerated graphics port (AGP) in certain implementations.

In the depicted example, local area network (LAN) adapter 212 is coupled to south bridge and I/O controller hub (SB/ICH) 204. Audio adapter 216, keyboard and mouse adapter 220, modem 222, read only memory (ROM) 224, universal serial bus (USB) and other ports 232, and PCI/PCIe devices 234 are coupled to south bridge and I/O controller hub 204 through bus 238. Hard disk drive (HDD) 226 and CD-ROM 230 are coupled to south bridge and I/O controller hub 204 through bus 240. PCI/PCIe devices may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 224 may be, for example, a flash binary input/output system (BIOS). Hard disk drive 226 and CD-ROM 230 may use, for example, an integrated drive electronics (IDE) or serial advanced technology attachment (SATA) interface. A super I/O (SIO) device 236 may be coupled to south bridge and I/O controller hub (SB/ICH) 204.

An operating system runs on processing unit 206. The operating system coordinates and provides control of various components within data processing system 200 in FIG. 2. The operating system may be a commercially available operating system such as Microsoft® Windows® (Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both), or Linux® (Linux is a trademark of Linus Torvalds in the United States, other countries, or both). An object oriented programming system, such as the Java™ programming system, may run in conjunction with the operating system and provides calls to the operating system from Java™ programs or applications executing on data processing system 200 (Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates).

Program instructions for the operating system, the object-oriented programming system, the processes of the illustrative embodiments, and applications or programs are located on storage devices, such as hard disk drive 226, and may be loaded into a memory, such as, for example, main memory 208, read only memory 224, or one or more peripheral devices, for execution by processing unit 206. Program instructions may also be stored permanently in non-volatile memory and either loaded from there or executed in place. For example, the synthesized program according to an embodiment can be stored in non-volatile memory and loaded from there into DRAM.

The hardware in FIGS. 1-2 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash memory, equivalent non-volatile memory, or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIGS. 1-2. In addition, the processes of the illustrative embodiments may be applied to a multiprocessor data processing system.

In some illustrative examples, data processing system 200 may be a personal digital assistant (PDA), which is generally configured with flash memory to provide non-volatile memory for storing operating system files and/or user-generated data. A bus system may comprise one or more buses, such as a system bus, an I/O bus, and a PCI bus. Of course, the bus system may be implemented using any type of communications fabric or architecture that provides for a transfer of data between different components or devices attached to the fabric or architecture.

A communications unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. A memory may be, for example, main memory 208 or a cache, such as the cache found in north bridge and memory controller hub 202. A processing unit may include one or more processors or CPUs.

The depicted examples in FIGS. 1-2 and above-described examples are not meant to imply architectural limitations. For example, data processing system 200 also may be a tablet computer, laptop computer, or telephone device in addition to taking the form of a PDA.

With reference to FIG. 3, this figure depicts a block diagram of correlating a system with a power branch circuit using a synchronous correlation technique in accordance with an illustrative embodiment. Data processing system 302 may be analogous to server 104 in FIG. 1 and signal generator device 304 may be similar to signal generator device 105 in FIG. 1 and may couple to data processing system 302 using DC powered port 306.

Power branch circuit 308 supplies electrical power, typically alternating current (AC) power, to data processing system 302. Power measuring system 310 may be hardware, software, or a combination thereof, for measuring the power delivered over power branch circuit 308. For example, in one embodiment, power measuring system 310 may include electrical power measuring component 312, which may be combination of hardware and software. Synchronous signal generator 314 may be hardware or software, correlator 316 may be a software application or firmware, and detector 318 may be a software application or a component thereof.

Signal generator device 304 generates a low frequency low power DC load (signal) to modulate the AC power consumed by data processing system 302. A frequency is considered low if the frequency is a fraction of the frequency of the AC power being supplied to data processing system 302.

Preferably, the low frequency signal should not be of a frequency higher than half the AC power frequency. In one embodiment, for sixty hertz AC power supplied to data processing system 302, signal generator device 304 was configured to generate a signal of four to six hertz, and for one experiment, a signal of five hertz.

Power of the signal generated by signal generator device 304 is considered low if signal generator device 304's load only trivially changes data processing system 302's power consumption per AC cycle. In other words, the power demand of data processing system 302 is insignificantly altered by adding the signal from signal generator device 304.

A load that is a significant portion of, or comparable to, data processing system 302's power consumption, when added to data processing system 302, would be easily detectable at power measuring system 310 to identify the correlation between data processing system 302 and power branch circuit 308. However, the embodiments recognize that adding such loads for identifying the correlation is undesirable in many circumstances, such as when the additional load may cause a power failure, system shutdown, or a spike in the power demand triggering power consumption reduction measures. Therefore, the signal generated from signal generator device 304 should preferably be a low power signal to avoid any such undesirable consequences.

Measurement component 312 measures the combined power consumption of data processing system 302 and signal generator device 304. Synchronous signal generator 314 generates a signal of the same frequency and phase as the signal of signal generator device 304.

The signals of signal generator 304 and synchronous signal generator 314 are synchronized to be in-phase by any suitable method. For example, in one embodiment, the synchronization can be accomplished using a synchronization signal, such as a global positioning system (GPS) clock. In another embodiment, the synchronization can be accomplished by an exhaustively changing the phase of synchronous signal generator 314 and determining whether a particular phase of synchronous signal generator 314's signal matches a phase of a signal in the power curve produced by measurement component 312.

In another embodiment, all possible phases of the signal can be searched in parallel for detecting the signal. For example, several synchronous signals may be generated at synchronous signal generator 314, each with a different phase from all possible phases of the signal of signal generator 304. All such different phases of the synchronous signals can be matched in parallel with the signal of single generator 304.

Correlator 316 combines the signal generated by synchronous signal generator 314 with the power curve produced by measurement component 312. For example, the signal of synchronous signal generator 314 may be multiplied with the power curve produced by measurement component 312.

Detector 318 determines whether a signal matching the signal generated by synchronous signal generator 314 is present in the power curve produced by measurement component 312. This determination made by detector 316 is described in more detail with respect to FIGS. 4 and 5. Generally, if a matching signal is found in the power curve produced by measurement component 312, detector 318 determines that the power branch circuit over which the power curve was measured is related to system 302, to which signal generator 304 is coupled, signal generator 304 having been synchronized with synchronous signal generator 314 as described above.

With reference to FIG. 4, this figure depicts a set of graphs showing power modulation for associating a system with a power branch circuit in accordance with an illustrative embodiment. Original signal 402 is the power curve of data processing system 302 in FIG. 3, without the signal from signal generator device 304 in FIG. 3.

Modulating signal 404 is the signal generated by signal generator device 304 in FIG. 3. Original signal 402 and modulating signal 404 combined (added graph not shown) form the power curve measured by measurement component 312 in FIG. 3.

Synchronous signal 406 is the signal generated by synchronous signal generator 314 in FIG. 3. As shown in this figure, synchronous signal 406 is in-phase with modulating signal 404.

Synchronous signal 406 is multiplied with modulating signal 404 at the power measurement system. The positive part of synchronous signal multiplied with the positive part of in-phase modulating signal yields a positive larger signal. The negative part of synchronous signal multiplied with the negative part of in-phase modulating signal also yields a positive larger signal.

Multiplication of synchronous signal 406 with modulating signal 404 in this manner causes modulating signal 404 to become a positive amplified signal at the power measurement system end of the power branch circuit. Thus, even low power modulating signal 404 can be detected as described here without having to add a high power modulating signal at data processing system 302 and without increasing the total power draw significantly.

With reference to FIG. 5, this figure depicts a set of graphs showing the process for detecting a modulating signal to relate a system with a corresponding power branch circuit in accordance with an illustrative embodiment. Graph 502 shows synchronous signal 406 in FIG. 4 multiplied with modulating signal 404 in FIG. 4 integrated over a period. As measured at sampling points 504 in time, the integrated signal of graph 502 increasingly grows larger with the passage of time. The integrated signal has the frequency of the synchronized signal. The value (amplitude) of this integrated signal V_(sd(3)) at sampling time T_(sd(3)) is greater than V_(sd(2)) at sampling time T_(sd(1)), which is greater than V_(sd(1)) at sampling time T_(sd(1)).

Note that such increase or magnification in the integrated signal will occur only when synchronous signal 406 in FIG. 4 is in-phase with, or synchronized with, modulating signal 404 in FIG. 4. When synchronous signal 406 in FIG. 4 is out of phase with, or not synchronized with, modulating signal 404 in FIG. 4, such a consistent increase will not be observable at the power measuring system end of the power branch circuit.

Graph 506 shows the consistent increase in the integrated signal value for in-phase synchronous and modulating signals. Graph 508 shows that such a consistent increase will not be observable for out of phase synchronous and modulating signals.

An embodiment may set a threshold value for the integrated signal. For example, when the integrated signal value exceeds the threshold value V_(th), the existence of the low power low frequency modulating signal can be confirmed, and the data processing system from where the modulating signal originated can be related to the power branch circuit on which the integrated signal value exceeded the threshold.

With reference to FIG. 6, this figure depicts a flowchart of a process of branch circuit determination with synchronous correlation in accordance with an illustrative embodiment. Process 600 may be implemented in a power measuring system, such as in power measuring system 310 in FIG. 3.

Process 600 begins by measuring a power curve for a power branch circuit (step 602). For example, process 600 may monitor and measure the per cycle power consumption over a power branch circuit and plot the measured power as a power curve over a period. Note that the power curve measured in this manner includes the power consumption of the data processing system as well as the power consumed by the low power modulating signal.

Process 600 receives a synchronization signal, such as a GPS signal (step 604). Process 600 generates a second signal—the synchronous signal described earlier—synchronized with a modulating signal at a data processing system (step 606). For example, process 600 may use the GPS signal to synchronize the second signal (the synchronous signal) with the modulating signal as described earlier.

Process 600 multiplies the power curve with the second signal (step 608). Process 600 integrates the multiple of the power curve and the second signal over a period (step 610). Process 600 samples the integrated multiple of the power curve and the second signal (the integral) at certain points in time during the period (step 612).

Process 600 determines whether the signal value in the integral exceeds a threshold (step 614). If the signal value in the integral exceeds the threshold (“Yes” path of step 614), process 600 concludes that the modulating signal of a signal generator device associated with the data processing system and synchronized with the second signal has been detected (step 616). Process 600 correlates the power branch circuit on which the detection of step 616 was made with the data processing system whose modulating signal was detected in step 616 (step 618). Process 600 ends thereafter.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

Thus, a computer implemented method is provided in the illustrative embodiments for correlating a power branch circuit with a system using a synchronous correlation technique. Using an embodiment of the invention the relationship between a system and a power branch circuit can be established without the facilities personnel logging on to the system or otherwise gaining access to the applications executing on the system. Using an embodiment, the relationship can be established without consuming excess power, and without having the system transmit an identifier.

In one embodiment, the signal generator device can be integrated into the system with a button or other similar interface exposed to the facilities personnel. The personnel can press the button or otherwise activate the interface without gaining access to the system. Thereafter, the synchronization and the subsequent detection can occur as described herein.

In another embodiment, the signal generator device can be integrated into the system with a provision to receive a command over a data network. The facilities personnel can transmit the command to activate the signal generator device using a system to which they do have access but without gaining access to the system where the signal generator device is present. Thereafter, the synchronization and the subsequent detection can occur as described herein.

Although several embodiments are described using the signal generator device in conjunction with a port or interface on a system that typically operates using DC power, such description is not intended to exclude the use of an embodiment with AC powered ports on the system. For example, a system may offer an AC power outlet on the system such that another peripheral of the system may receive AC power from the system. An embodiment may use a suitably configured signal generator device in conjunction with such an AC port on the system in a manner described herein to achieve similar results within the scope of the invention.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “device,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable storage device(s) or computer readable media having computer readable program code embodied thereon.

Any combination of one or more computer readable storage device(s) or computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage device may be an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage device would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage device may be any tangible device that can store a program for use by or in connection with an instruction execution system, apparatus, or device. The terms “computer-readable tangible storage device,” “computer-readable storage device,” and computer-readable storage device” do not encompass a signal propagation medium such as a copper cable, optical fiber, or wireless transmission medium, any description in this disclosure to the contrary notwithstanding.

Program code embodied on a computer readable storage device or computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to one or more processors of one or more general purpose computers, special purpose computers, or other programmable data processing apparatuses to produce a machine, such that the instructions, which execute via the one or more processors of the computers or other programmable data processing apparatuses, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in one or more computer readable storage devices or computer readable media that can direct one or more computers, one or more other programmable data processing apparatuses, or one or more other devices to function in a particular manner, such that the instructions stored in the one or more computer readable storage devices or computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto one or more computers, one or more other programmable data processing apparatuses, or one or more other devices to cause a series of operational steps to be performed on the one or more computers, one or more other programmable data processing apparatuses, or one or more other devices to produce a computer implemented process such that the instructions which execute on the one or more computers, one or more other programmable data processing apparatuses, or one or more other devices provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. 

What is claimed is:
 1. A computer implemented method for relating a data processing system with a power branch circuit, the method comprising: combining, to form a combination signal, a second signal with a power signal, the power signal including a first power usage by the data processing system and a second power usage by a modulating signal; synchronizing the second signal with the modulating signal in the power signal; determining whether an amplitude of a frequency of the second signal is increasing in the combined signal over a period; and relating, responsive to the determining being affirmative, the data processing system with the power branch circuit.
 2. The computer implemented method of claim 1, further comprising: determining whether the amplitude of the frequency of the second signal exceeds a threshold, and wherein the relating is further responsive to the amplitude exceeding the threshold.
 3. The computer implemented method of claim 1, further comprising: integrating the combination signal over the period; and sampling the combination signal at a point in time in the period to determine the amplitude.
 4. The computer implemented method of claim 1, wherein the synchronizing further includes using a third signal for ensuring that the modulating signal and the second signal are in-phase with each other.
 5. The computer implemented method of claim 1, wherein the synchronizing further comprises: changing a phase of the second signal from a first phase to a second phase; determining whether the second phase of the second signal causes the synchronizing; and repeating the changing and the determining for a third phase of the second signal responsive to the second phase of the second signal not causing the synchronizing.
 6. The computer implemented method of claim 1, wherein the synchronizing further comprises: setting the phase of the second signal to all possible phases of the modulating signal in parallel; and determining whether any phase of the second signal causes the synchronizing.
 7. The computer implemented method of claim 1, wherein the modulating signal is a low power and low frequency load applied to the data processing system using a signal generator device.
 8. The computer implemented method of claim 1, wherein the signal generator device is coupled with the data processing system using a direct current powered port on the data processing system.
 9. The computer implemented method of claim 1, wherein the signal generator device is coupled with the data processing system using an alternating current powered port on the data processing system.
 10. The computer implemented method of claim 1, wherein the combining is a multiplication of the second signal with the power signal.
 11. A computer usable program product comprising a computer readable storage device including computer usable code for relating a data processing system with a power branch circuit, the computer usable code comprising: computer usable code for combining, to form a combination signal, a second signal with a power signal, the power signal including a first power usage by the data processing system and a second power usage by a modulating signal; computer usable code for synchronizing the second signal with the modulating signal in the power signal; computer usable code for determining whether an amplitude of a frequency of the second signal is increasing in the combined signal over a period; and computer usable code for relating, responsive to the determining being affirmative, the data processing system with the power branch circuit.
 12. The computer usable program product of claim 11, further comprising: computer usable code for determining whether the amplitude of the frequency of the second signal exceeds a threshold, and wherein the relating is further responsive to the amplitude exceeding the threshold.
 13. The computer usable program product of claim 11, further comprising: computer usable code for integrating the combination signal over the period; and computer usable code for sampling the combination signal at a point in time in the period to determine the amplitude.
 14. The computer implemented method of claim 11, wherein the computer usable code for synchronizing further includes computer usable code for using a third signal for ensuring that the modulating signal and the second signal are in-phase with each other.
 15. The computer usable program product of claim 11, wherein the synchronizing further comprises: computer usable code for changing a phase of the second signal from a first phase to a second phase; computer usable code for determining whether the second phase of the second signal causes the synchronizing; and computer usable code for repeating the changing and the determining for a third phase of the second signal responsive to the second phase of the second signal not causing the synchronizing.
 16. The computer usable program product of claim 11, wherein the synchronizing further comprises: computer usable code for setting the phase of the second signal to all possible phases of the modulating signal in parallel; and computer usable code for determining whether any phase of the second signal causes the synchronizing.
 17. The computer usable program product of claim 11, wherein the modulating signal is a low power and low frequency load applied to the data processing system using a signal generator device.
 18. The computer usable program product of claim 11, wherein the computer usable code is stored in a computer readable storage medium in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system.
 19. The computer usable program product of claim 11, wherein the computer usable code is stored in a computer readable storage medium in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage medium associated with the remote data processing system.
 20. A data processing system for relating a data processing system with a power branch circuit, the data processing system comprising: a storage device including a storage medium, wherein the storage device stores computer usable program code; and a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises: computer usable code for combining, to form a combination signal, a second signal with a power signal, the power signal including a first power usage by the data processing system and a second power usage by a modulating signal; computer usable code for synchronizing the second signal with the modulating signal in the power signal; computer usable code for determining whether an amplitude of a frequency of the second signal is increasing in the combined signal over a period; and computer usable code for relating, responsive to the determining being affirmative, the data processing system with the power branch circuit. 